package com.jwsoft.manager.core.integration;

import com.bifang.assistant.common.vo.BaseVO;
import com.bifang.module.base.common.vo.excel.ExcelVO;
import com.github.pagehelper.PageInfo;
import com.jwsoft.manager.common.vo.common.recruitStudent.RecruitStudentSyncRetVO;
import com.jwsoft.manager.common.vo.common.recruitStudent.SyncStudentQueryVO;
import com.jwsoft.manager.common.vo.eduSyncZjApply.EduSyncZjApplyVO;
import com.jwsoft.manager.common.vo.eduSyncZjApply.EduSyncZjApplyKeyVO;
import com.jwsoft.manager.common.vo.eduSyncZjApply.EduSyncZjApplyQueryVO;
import com.jwsoft.manager.common.vo.eduSyncZjApprove.EduSyncZjApproveQueryVO;
import com.jwsoft.manager.common.vo.eduSyncZjDelete.EduSyncZjDeleteQueryVO;
import com.jwsoft.manager.common.vo.eduSyncZjEnroll.EduSyncZjEnrollQueryVO;

import javax.servlet.http.HttpServletResponse;

/**
 * 省招生报名专库同步管理
 *
 * @author chenzh
 * @since 2023-07-25
 */
public interface EduSyncZjApplyIntegration {
    /**
     * 分页查询
     */
    PageInfo<EduSyncZjApplyVO> getList(EduSyncZjApplyQueryVO vo);

    /**
     * 根据主键查询详情
     */
    EduSyncZjApplyVO getById(EduSyncZjApplyKeyVO vo);

    /**
     * 新增
     */
    EduSyncZjApplyVO add(EduSyncZjApplyVO vo);

    /**
     * 修改
     */
    EduSyncZjApplyVO edit(EduSyncZjApplyVO vo);

    /**
     * 根据主键删除
     */
    void del(EduSyncZjApplyKeyVO vo);

    /**
     * 省招生报名专库同步管理-报名信息同步
     */
    RecruitStudentSyncRetVO sync(EduSyncZjApplyKeyVO vo);

    /**
     * 省招生报名专库同步管理-报名信息生成
     */
    void create(SyncStudentQueryVO vo);

    /**
     * 省招生报名专库同步管理-报名信息批量同步
     */
    void batchSync(EduSyncZjApplyQueryVO vo);

    /**
     * 省招生报名专库同步管理-清除处理缓存
     */
    void clearCache(BaseVO vo);

    /**
     * 省招生报名专库同步管理-批量生成报名数据
     * @param vo
     */
    void batchCreateApply(EduSyncZjApplyQueryVO vo);

    /**
     * 省招生审核专库同步管理-批量生成审核数据
     * @param vo
     */
    void batchCreateApprove(EduSyncZjApproveQueryVO vo);


    /**
     * 省招生录取专库同步管理-批量生成录取数据
     * @param vo
     */
    void batchCreateEnroll(EduSyncZjEnrollQueryVO vo);

    /**
     * 省招生专库同步管理-批量同步删除数据
     * @param vo
     */
    void batchCreateDelete(EduSyncZjDeleteQueryVO vo);
    /**
     * 省招生报名专库同步管理-批量导出报名数据
     * @param vo
     * @param response
     */
    void exportZJApplyInfo(EduSyncZjApplyQueryVO vo, HttpServletResponse response);

    void downloadModel(ExcelVO vo, HttpServletResponse response);

}
